# Makefile 

# Variablen setzen, LD sind Linkerflags

CC=gcc
LD=gcc
CCFLAGS=-g -ansi -Wall
SRC=scrap.c pointerapokalypse.c
PROGS=$(SRC:.c=)
OBJ=$(SRC:.c=.o)

# default Ziel
all: $(PROGS)

-include dependencies

# linken aller obj zur bin
$(PROGS): $(OBJ)
	$(LD) $(CCFLAGS) $(OBJ) -o $(PROGS)

pointerapokalypse: pointerapokalypse.c
	$(LD) $(CCFLAGS) $< -o $@

# Targets die keine tatsaechlichen Dateien sind
.PHONY: clean run depend

# abhaengigkeiten ermitteln mit -MM und in Datei speichern
depend:
	$(CC) -MM $(SRC) > dependencies

# bereinigen
clean:
	-/bin/rm -f *.o $(PROGS) *~

run: $(SRC)
	for prog in $(SRC) ; do \
	./$$prog ; \
	done

# relevante Suffixes
.SUFFIXES: .o .c .h

# uebersetze jede .c in eine .o
%.o: %.c
	$(CC) -c $(CCFLAGS) $< -o $@

# uebersetze jede .c und .h in .o
%.o: %.c %.h
	$(CC) -c (CCFLAGS) $< -o $@

